﻿using System.Collections.Generic;
using System.Threading.Tasks;
using Jinjia.Approve.Model.Input.JJFlow;
using Jinjia.Approve.Model.VM;
using Jinjia.Approve.Model.VM.JJFlow;
using Jinjia.Core.BaseInfrastructure.BaseModel.BaseModel;
using Jinjia.Core.BaseInfrastructure.StorageModel.Model;

namespace Jinjia.Approve.IService.JJFlow
{
    public interface IJJFlowDicCodeService
    {
        Task<PageListSearchResultVM<JJDictCodeViewModel>> GetMappingPageList(JJDictCodeSearchCondition searchCondition);

        Task<JjFlowDictcodeVM> GetById(int id);

        /// <summary>
        /// 根据模板Id获取流程定义描述变量集合
        /// </summary>
        /// <param name="templateId">模板id</param>
        /// <returns>流程定义描述变量集合</returns>
        Task<List<JjFlowDictcodeVM>> GetListByTemplateId(int templateId);

        Task<ResponseResult<string>> SaveDictCode(JJDictCodeEditModel model);

        Task<ResponseResult<string>> DeleteDictCode(int id);
    }
}